Estoy trabajando en un comando para agregar roles en discord.js v13 y este es el error que recibo: Error
const { MessageEmbed } = require("discord.js"); const Discord = require("discord.js") const config = require("../../botconfig/config.json"); const ee = require("../../botconfig/embed.json"); const settings = require("../../botconfig/settings.json"); module.exports = { name: "addrole", category: "Utility", permissions: ["MANAGE_ROLES"], aliases: ["stl"], cooldown: 5, usage: "addrole <user> <role>", description: "Add a role to a member", run: async (client, message, args, plusArgs, cmdUser, text, prefix) => { /** * @param {Message} message */ if (!message.member.permissions.has("MANAGE_ROLES")) return message.channel.send("<a:mark_rejected:975425274487398480> **You are not allowed to use this command. You need `Manage Roles` permission to use the command.**") const target = message.mentions.members.first(); if (!target) return message.channel.send(`<a:mark_rejected:975425274487398480> No member specified`); const role = message.mentions.roles.first(); if (!role) return message.channel.send(`<a:mark_rejected:975425274487398480> No role specified`); await target.roles.add(role) message.channel.send(`<a:mark_accept:975425276521644102> ${target.user.username} has obtined a role`).catch(err => { message.channel.send(`<a:mark_rejected:975425274487398480> I do not have access to this role`) }) } }Lo que significa su error es que su bot no tiene permisos para otorgar un rol a un usuario. Podría estar tratando de agregar un rol que tenga una posición más alta que el propio rol del bot. Una forma de detener el error es darle al bot la posición más alta. El bot también requerirá el permiso MANAGE_ROLES en la página de Desarrolladores de Discord para agregar roles correctamente en primer lugar. Si desea obtener más información sobre los permisos de roles, le sugiero que vaya aquí => Roles y permisos . Además, cuando usa .catch() al final, todo lo que está verificando es si el message.channel.send() al final funcionó y, de lo contrario, envíe un mensaje al canal diciendo que el bot no pudo para agregar el rol. En su lugar, debe usar .then() después de agregar el rol y luego usar .catch() para detectar el error. Entonces, su código podría verse así:
target.roles.add(role).then(member => { message.channel.send(`<a:mark_accept:975425276521644102> ${target.user.username} has obtined a role`) }).catch(err => { message.channel.send(`<a:mark_rejected:975425274487398480> I do not have access to this role`) })